Termination w.r.t. Q of the following Term Rewriting System could be proven:

Q restricted rewrite system:
The TRS R consists of the following rules:

f(x, y, z) → g(<=(x, y), x, y, z)
g(true, x, y, z) → z
g(false, x, y, z) → f(f(p(x), y, z), f(p(y), z, x), f(p(z), x, y))
p(0) → 0
p(s(x)) → x

Q is empty.


QTRS
  ↳ Overlay + Local Confluence

Q restricted rewrite system:
The TRS R consists of the following rules:

f(x, y, z) → g(<=(x, y), x, y, z)
g(true, x, y, z) → z
g(false, x, y, z) → f(f(p(x), y, z), f(p(y), z, x), f(p(z), x, y))
p(0) → 0
p(s(x)) → x

Q is empty.

The TRS is overlay and locally confluent. By [15] we can switch to innermost.

↳ QTRS
  ↳ Overlay + Local Confluence
QTRS
      ↳ DependencyPairsProof

Q restricted rewrite system:
The TRS R consists of the following rules:

f(x, y, z) → g(<=(x, y), x, y, z)
g(true, x, y, z) → z
g(false, x, y, z) → f(f(p(x), y, z), f(p(y), z, x), f(p(z), x, y))
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

f(x0, x1, x2)
g(true, x0, x1, x2)
g(false, x0, x1, x2)
p(0)
p(s(x0))


Using Dependency Pairs [1,13] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:

G(false, x, y, z) → P(z)
G(false, x, y, z) → F(p(z), x, y)
G(false, x, y, z) → F(p(x), y, z)
G(false, x, y, z) → F(f(p(x), y, z), f(p(y), z, x), f(p(z), x, y))
G(false, x, y, z) → P(y)
F(x, y, z) → G(<=(x, y), x, y, z)
G(false, x, y, z) → F(p(y), z, x)
G(false, x, y, z) → P(x)

The TRS R consists of the following rules:

f(x, y, z) → g(<=(x, y), x, y, z)
g(true, x, y, z) → z
g(false, x, y, z) → f(f(p(x), y, z), f(p(y), z, x), f(p(z), x, y))
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

f(x0, x1, x2)
g(true, x0, x1, x2)
g(false, x0, x1, x2)
p(0)
p(s(x0))

We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
QDP
          ↳ EdgeDeletionProof

Q DP problem:
The TRS P consists of the following rules:

G(false, x, y, z) → P(z)
G(false, x, y, z) → F(p(z), x, y)
G(false, x, y, z) → F(p(x), y, z)
G(false, x, y, z) → F(f(p(x), y, z), f(p(y), z, x), f(p(z), x, y))
G(false, x, y, z) → P(y)
F(x, y, z) → G(<=(x, y), x, y, z)
G(false, x, y, z) → F(p(y), z, x)
G(false, x, y, z) → P(x)

The TRS R consists of the following rules:

f(x, y, z) → g(<=(x, y), x, y, z)
g(true, x, y, z) → z
g(false, x, y, z) → f(f(p(x), y, z), f(p(y), z, x), f(p(z), x, y))
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

f(x0, x1, x2)
g(true, x0, x1, x2)
g(false, x0, x1, x2)
p(0)
p(s(x0))

We have to consider all minimal (P,Q,R)-chains.
We deleted some edges using various graph approximations

↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ EdgeDeletionProof
QDP
              ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

G(false, x, y, z) → P(z)
G(false, x, y, z) → F(p(z), x, y)
G(false, x, y, z) → F(f(p(x), y, z), f(p(y), z, x), f(p(z), x, y))
G(false, x, y, z) → F(p(x), y, z)
F(x, y, z) → G(<=(x, y), x, y, z)
G(false, x, y, z) → P(y)
G(false, x, y, z) → F(p(y), z, x)
G(false, x, y, z) → P(x)

The TRS R consists of the following rules:

f(x, y, z) → g(<=(x, y), x, y, z)
g(true, x, y, z) → z
g(false, x, y, z) → f(f(p(x), y, z), f(p(y), z, x), f(p(z), x, y))
p(0) → 0
p(s(x)) → x

The set Q consists of the following terms:

f(x0, x1, x2)
g(true, x0, x1, x2)
g(false, x0, x1, x2)
p(0)
p(s(x0))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [13,14,18] contains 0 SCCs with 8 less nodes.